home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Visual Basic Source Code
/
Visual Basic Source Code.iso
/
vbsource
/
tab100
/
carddeck.bas
< prev
next >
Wrap
BASIC Source File
|
1995-09-06
|
5KB
|
182 lines
DefInt A-Z
Declare Function CardVersion Lib "VBCards.Dll" () As Integer
Declare Sub GetCard Lib "VBCards.dll" (ByVal Card As Integer)
Declare Sub GetCardBack Lib "VBCards.dll" (ByVal Card As Integer)
Declare Sub GetCardMisc Lib "VBCards.dll" (ByVal Card As Integer)
Declare Function SameSuit Lib "VBCards.Dll" (ByVal c1 As Integer, ByVal c2 As Integer) As Integer
Declare Function SuitOf Lib "VBCards.DLL" (ByVal C As Integer) As Integer
Declare Function CardValue Lib "vbCards.dll" (ByVal C As Integer)
Declare Function SameCardValue Lib "VBCards.Dll" (ByVal c1 As Integer, ByVal c2 As Integer) As Integer
Sub ComputerDeal ()
' Deal Player & Computer Hands 6 each 1St to Player
Dim Remainder As Integer
For i = 1 To 12
GetCard (Cards(CardNo))
Remainder = i Mod 2
If Remainder <> 0 Then
Form1.Picture2(i - (i \ 2)).Picture = ClipBoard.GetData(2)
Form1.Picture2(i - (i \ 2)).Tag = Str$(CardNo)
Form1.Picture2(i - (i \ 2)).Enabled = True
Form1.Picture2(i - (i \ 2)).Visible = True
Else
Form1.Picture4(i / 2).Picture = ClipBoard.GetData(2)
Form1.Picture4(i / 2).Tag = Str$(CardNo)
' Form1.Picture4(i / 2).Enabled = TRUE
' Form1.Picture4(i / 2).Visible = TRUE
End If
CardNo = CardNo + 1
Next i
ComputerNo = 6
PlayerNo = 6
If CardNo > 52 Then
GetCardMisc (1)
Form1.Picture3(1).Picture = ClipBoard.GetData(2)
End If
End Sub
Sub DealToTable ()
' Deal to Table, Jacks are not dealt to table, but are
' placed on bottom of deck
For i = 1 To 4
GetCard (Cards(i + 12))
Do While CardValue(Cards(i + 12)) = 11
HoldJack = Cards((i + 12))
ShiftLeft Cards(), ((i + 12) + 1), 52
Cards(52) = HoldJack
MsgOk = MsgBox("A Jack has been placed on bottom of the Deck", MBI_INFO)
GetCard (Cards(i + 12))
Loop
Form1.Picture1(i).Picture = ClipBoard.GetData(2)
Form1.Picture1(i).Tag = Str$(i + 12)
Form1.Picture1(i).Enabled = True
Form1.Picture1(i).Visible = True
Next i
GetCardBack (2)
Form1.Picture1(5).Picture = ClipBoard.GetData(2)
Form1.Picture1(5).Tag = "End"
Form1.Picture1(i).Enabled = True
Form1.Picture1(i).Visible = True
End Sub
Sub FirstDeal ()
' Form1.Picture1 is Table, Form1.Picture2 is Player, Form1.Picture3 is Deck
' and Form1.Picture4 is Computer(not visible)
' Re-seed Random number generator
Randomize
ShuffleCards
Dim HoldJack As Integer
CardNo = 1
If DealSwitch = PLAYER_DEAL Then
PlayerDeal
Else
ComputerDeal
End If
GetCardMisc (2)
Form1.Picture3(1).Picture = ClipBoard.GetData(2)
Form1.Picture3(1).Visible = True
DealToTable
TableNo = 4
CardNo = 17
PlayerCardsNo = 0
ComputerCardsNo = 0
For i = 1 To 13
EqualRankGone(i) = 0
Next i
If DealSwitch = PLAYER_DEAL Then
GameSwitch = COMPUTER_MOVE
EnableComputerMove
Else
GameSwitch = PLAYER_MOVE
EnablePlayerMove
End If
End Sub
Sub PlayerDeal ()
' Deal Player & Computer Hands 6 Each 1st to Computer
Dim Remainder As Integer
For i = 1 To 12
GetCard (Cards(CardNo))
Remainder = i Mod 2
If Remainder <> 0 Then
Form1.Picture4(i - (i \ 2)).Picture = ClipBoard.GetData(2)
Form1.Picture4(i - (i \ 2)).Tag = Str$(CardNo)
' Form1.Picture4(i - (i \ 2)).Enabled = TRUE
' Form1.Picture4(i - (i \ 2)).Visible = TRUE
Else
Form1.Picture2(i / 2).Picture = ClipBoard.GetData(2)
Form1.Picture2(i / 2).Tag = Str$(CardNo)
Form1.Picture2(i / 2).Enabled = True
Form1.Picture2(i / 2).Visible = True
End If
CardNo = CardNo + 1
Next i
ComputerNo = 6
PlayerNo = 6
If CardNo > 52 Then
GetCardMisc (1)
Form1.Picture3(1).Picture = ClipBoard.GetData(2)
End If
End Sub
Sub ShuffleCards ()
For i = 1 To 52
Cards(i) = i
Next i
For J = 1 To 10
For i = 1 To 52
K = Int(52 * Rnd + 1)
Temp = Cards(i)
Cards(i) = Cards(K)
Cards(K) = Temp
Next i
Next J
End Sub